Use the new texture utils here
authorMatthias Clasen <mclasen@redhat.com>
Thu, 30 Nov 2017 12:54:52 +0000 (07:54 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 30 Nov 2017 12:54:52 +0000 (07:54 -0500)
One less place where we juggle pixbufs.

gtk/gtkcssimagerecolor.c

index 48cae0d0edda29285bcd4fe073d4120a806df23b..b3c3423d97489c99ca2ce7de49bc60e3dc42cd66 100644 (file)
@@ -107,41 +107,23 @@ gtk_css_image_recolor_load_texture (GtkCssImageRecolor  *recolor,
 
   uri = g_file_get_uri (recolor->file);
 
-  if (g_str_has_suffix (uri, ".symbolic.png"))
+  if (g_file_has_uri_scheme (recolor->file, "resource"))
     {
-      if (g_file_has_uri_scheme (recolor->file, "resource"))
-        {
-          char *resource_path = g_uri_unescape_string (uri + strlen ("resource://"), NULL);
-
-          recolor->texture = gdk_texture_new_from_resource (resource_path);
+      char *resource_path = g_uri_unescape_string (uri + strlen ("resource://"), NULL);
 
-          g_free (resource_path);
-        }
+      if (g_str_has_suffix (uri, ".symbolic.png"))
+        recolor->texture = gdk_texture_new_from_resource (resource_path);
       else
-        {
-          recolor->texture = gdk_texture_new_from_file (recolor->file, NULL);
-        }
+        recolor->texture = gtk_make_symbolic_texture_from_resource (resource_path, 0, 0, 1.0, NULL);
+
+      g_free (resource_path);
     }
   else
     {
-      GdkPixbuf *pixbuf;
-
-      if (g_file_has_uri_scheme (recolor->file, "resource"))
-        {
-          char *resource_path = g_uri_unescape_string (uri + strlen ("resource://"), NULL);
-
-          pixbuf = gtk_make_symbolic_pixbuf_from_resource (resource_path, 0, 0, 1.0, NULL);
-
-          g_free (resource_path);
-        }
+      if (g_str_has_suffix (uri, ".symbolic.png"))
+        recolor->texture = gdk_texture_new_from_file (recolor->file, NULL);
       else
-        {
-          pixbuf = gtk_make_symbolic_pixbuf_from_file (recolor->file, 0, 0, 1.0, NULL);
-        }
-
-      recolor->texture = gdk_texture_new_for_pixbuf (pixbuf);
-
-      g_object_unref (pixbuf);
+        recolor->texture = gtk_make_symbolic_texture_from_file (recolor->file, 0, 0, 1.0, NULL);
     }
 
   g_free (uri);